programming4us
           
 
 
Programming

WCF Security Concepts

- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019
10/17/2010 6:07:22 PM

1. Authentication

One of the .most fundamental concepts of security is knowing who is knocking on your door. Authentication is the process of establishing a clear identity for an entity, for example, by providing evidence such as username and password. Although this is clearly important for a service to understand of its callers, it is equally important that callers have an assurance that the service being called is the expected service and not an impostor.

WCF provides several options for this mutual authentication by both the service and the caller—for example, certificates and Windows accounts and groups. By using these and other options, as we’ll show throughout this chapter, each side can have firm trust that they are communicating with an expected party.

2. Authorization

The next step in .security, after identity has been established, is to determine whether the calling party should be permitted to do what they are requesting. This process is called authorization because the service or resource authorizes a caller to proceed. Note that you can choose to authorize anonymous users for actions as well, so although authorization is not strictly dependent on authentication, it does normally follow.

Authorization can be performed by custom code in the service, native or custom authorization providers, ASP.NET roles, Windows groups, Active Directory, Authorization Manager, and other mechanisms.

3. Confidentiality

When dealing with sensitive information, there is little use in establishing identity and authorization if the results of a call will be broadcast to anyone who is interested. Confidentiality is the concept of preventing others from reading the information exchanged between a caller and a service. This is typically accomplished via encryption, and a variety of mechanisms for this exist within WCF.

4. Integrity

The final basic concept of security is the assurance that the contents of a message have not been tampered with during transfer between caller and service, and vice versa. This is typically done by digitally signing or generating a signed hash for the contents of the message and having the receiving party validate the signature based on the contents of what it received. If the computed value does not match the embedded value, the message should be refused.

Note that integrity can be provided even when privacy is not necessary. It may be acceptable to send information in the clear (unencrypted) as long as the receiver can be assured that it is the original data via digital signature verification.

5. Transport and Message Security

There are two major classifications of security within WCF; both are related to the security of what is transferred between a service and caller (sometimes called transfer security). The first concept is of protecting data as it is sent across the network, or “on the wire.” This is known as transport security. The other classification is called message security and is concerned with the protection that each message provides for itself, regardless of the transportation mechanism used.

Transport security provides protection for the data sent, without regard to the contents. A common approach for this is to use Secure Sockets Layer (SSL) for encrypting and signing the contents of the packets sent over HTTPS. There are other transport security options as well, and the choice of options will depend on the particular WCF binding used. In fact, you will see that many options in WCF are configured to be secure by default, such as with TCP.

One limitation of transport security is that it relies on every “step” and participant in the network path having consistently configured security. In other words, if a message must travel through an intermediary before reaching its destination, there is no way to ensure that transport security has been enabled for the step after the intermediary (unless that intermediary is fully controlled by the original service provider). If that security is not faithfully reproduced, the data may be compromised downstream. In addition, the intermediary itself must be trusted not to alter the message before continuing transfer. These considerations are especially important for services available via Internet-based routes, and typically less important for systems exposed and consumed within a corporate intranet.

Message security focuses on ensuring the integrity and privacy of individual messages, without regard for the network. Through mechanisms such as encryption and signing via public and private keys, the message will be protected even if sent over an unprotected transport (such as plain HTTP).

The option to use transport and message security is typically specified in configuration; two basic examples are shown in Listing 1.

Listing 1. Transport and Message Security Examples
<basicHttpBinding>
<binding name="MyBinding">
<security mode="Transport">
<transport clientCredentialType="Windows"/>
</security >
</binding>
</basicHttpBinding>

<wsHttpBinding>
<binding name="MyBinding">
<security mode="Message">
<transport clientCredentialType="None"/>
</security >
</binding>
</wsHttpBinding>

Other -----------------
- Certificate-Based Encryption
- Encryption Using SSL
- Security Privileges and Services
- Client Credentials
- User-Level Security : Service Credentials
- User-Level Security : Custom Authentication
- User-Level Security : Authorization and Impersonation (part 4) - Impersonation
- User-Level Security : Authorization and Impersonation (part 3) - Security Token Authentication
- User-Level Security : Authorization and Impersonation (part 2) - Claims-Based Authorization
- User-Level Security : Authorization and Impersonation (part 1) - Authorization
- Publisher Certificates
- Using LINQ To SQL
- Service Management API (part 2) - Making API Requests
- Service Management API (part 1)
- Windows Services : A Service Control Shell
- ASP.NET Applications and the Web Server
- Internet Information Services (IIS)
- Managing Websites with IIS Manager (part 7) - Confidentiality with SSL and Certificates
- Managing Websites with IIS Manager (part 6) - The Machine Key and Windows Authentication
- Managing Websites with IIS Manager (part 5) - The Default Page and Custom Error Pages
 
 
 
Top 10
 
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
- First look: Apple Watch

- 3 Tips for Maintaining Your Cell Phone Battery (part 1)

- 3 Tips for Maintaining Your Cell Phone Battery (part 2)
programming4us programming4us